/****************************************************************************
	This file is part of Basqet.

	Basqet is free software: you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published by
	the Free Software Foundation, either version 3 of the License, or
	(at your option) any later version.

	Basqet is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU General Public License for more details.

	You should have received a copy of the GNU General Public License
    along with Basqet.  If not, see <http://www.gnu.org/licenses/>.

****************************************************************************/

#ifndef BASKETDESCRIPTOR_H
#define BASKETDESCRIPTOR_H

#include <QObject>
#include <QFileInfo>

#include <QDomDocument>

class BasketDescriptor : public QObject
{
	Q_OBJECT
	public:
		BasketDescriptor(const QString& location, const QString& filename);

		QDomElement		createTextNote();

		QDomElement		getNotePadPageRoot();
		QDomNodeList	getNoteObjects();

		QFileInfo		getBasketPath();
	public slots:
		// Make a printout of the XML-document to qDebug().
		void printXML();

		void save();

	private:

		void openDescriptor();
		void createNewDocument();


	private:

		QFileInfo		mDescriptorFile;

		QDomDocument	mXMLDocument;
		QDomElement		mBasketRoot;
		QDomElement		mNotePadPageRoot;
		QDomElement		mNoteListRoot;

};

#endif // BASKETDESCRIPTOR_H
